import {
	IWFStepTraceViewAbility,
	IWFStepTraceViewController,
	IWFStepTraceViewControllerParams,
	IWFStepTraceViewStore,
	WFStepTraceViewActionType,
} from '@/core/interface';
import { ViewController } from './view-controller';

/**
 * 应用流程跟踪视图控制器
 *
 * @export
 * @class WFStepTraceViewController
 * @extends {ViewController}
 */
export class WFStepTraceViewController
	extends ViewController<
		WFStepTraceViewActionType,
		IWFStepTraceViewStore,
		IWFStepTraceViewAbility
	>
	implements
		IWFStepTraceViewController<IWFStepTraceViewStore, IWFStepTraceViewAbility>
{
	/**
	 * 处理视图初始化
	 *
	 * @protected
	 * @param {IWFStepTraceViewControllerParams<WFStepTraceViewActionType, IWFStepTraceViewAbility>} params
	 * @memberof WFStepTraceViewController
	 */
	protected processViewInit(
		params: IWFStepTraceViewControllerParams<
			WFStepTraceViewActionType,
			IWFStepTraceViewAbility
		>
	) {
		super.processViewInit(params);
		Object.assign(this.store, { appEntityCodeName: '' });
	}
}
